<?php
namespace app\index\controller;

use think\exception\ValidateException;
use think\facade\Cookie;
use think\facade\Session;
use think\Image;
use think\Validate;

class Goods{

    //验证器
    public function index()
    {

        $data=[
            'name'  => 'thinkphp@qq.com',
            'age'=>121,
            'pwd'=>000000,
            'email' => 'thinkphp@qq.com',
        ];
        try {
            validate(\app\index\validate\Goods::class)
                ->batch(true)//开启批量验证
                    //->scene('edit')
                ->sceneEdit()
                ->check($data);
        } catch (ValidateException $e) {
            // 验证失败 输出错误信息
           echo "<pre>";
           print_r($e->getError());
           echo "</pre>";
        }
        echo 'ok';
    }

    //图片处理
     public function images(){

         $image=Image::open('./images/img.jpg');
//         // 返回图片的宽度
//         $width = $image->width();
//         // 返回图片的高度
//         $height = $image->height();
//            // 返回图片的类型
//         $type = $image->type();
//            // 返回图片的mime类型
//         $mime = $image->mime();
//        // 返回图片的尺寸数组 0 图片宽度 1 图片高度
        // $size = $image->size();
       //将图片裁剪为280x280并保存为crop.png
       //$image->crop(280, 280,75,50,100,100)->save('./images/crop2.png');
         // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
        // $image=Image::open('./images/logo.png');
         //$image->thumb(50, 50,3 )->save('./images/logo1.png');

         // 对图像进行以x/y轴进行翻转操作
      //  $image->flip(2)->save('./images/filp_image1.png');
// 对图像使用默认的顺时针旋转90度操作
     //$image->rotate(360)->save('./images/rotate_image3.png');

         // 给原图左上角添加水印并保存water_image.png
      $image->water('./images/logo1.png',1,-10)->save('./images/water_image5.png');

         // 给原图左上角添加水印并保存water_image.png
       // $image->text('肖战是最棒的',app()->getRootPath() . 'public/images/STXINGKA.TTF',20,'#ffffff',1,10,30)->save('./images/text_image6.png');
         /**
          * 保存图像
          * @param string      $pathname  图像保存路径名称
          * @param null|string $type      图像类型
          * @param int         $quality   图像质量
          * @param bool        $interlace 是否对JPEG类型图像设置隔行扫描
          * @return $this
          */
         $image->text('肖战是最棒的',app()->getRootPath() . 'public/images/STXINGKA.TTF',20,'#ffffff',1,10,30)
             ->save('./images/text_image8.png','png');
     }

     //session/cookie
     public function sc(){
        //设置session
        // Session::set('name', '肖战');
        // Session::set('name', 'thinkphp');
         //取session值 第二参数设置默认值
        //echo Session::get('name');
        // Session::set('age', '18');
        // 删除
        //Session::delete('name');
        // 取值并删除
         //Session::pull('name');
            //清空(删除所有)
        // Session::clear();
         // 设置session 并且在下一次请求之前有效(仅仅支持一次请求有效,第二次无效)
        // Session::flash('name','肖战');
          //获取所有session数据
         // echo "<pre>";
        //print_r(Session::all());
        // echo "</pre>";
         //has是否设置会话  true设置了  false 没被设置
        //var_dump(Session::has('age'));



         //多级数组
         // 赋值
         //Session::set('name.item',['item1'=>1,'item'=>2]);
        // Session::set('name.item','thinkphp');
        // 判断是否赋值
        // var_dump(Session::has('name.item'));
            // 取值
      //  echo Session::get('name.item');
         //取全部的值
//          echo "<pre>";
//         print_r(Session::all());
//          echo "</pre>";
            // 删除
       //Session::delete('name.item');



         //助手函数
         // 赋值
      // session('name', '肖战');
        // 判断是否赋值
     //  var_dump(session('?name')) ;
        // 取值
      // echo session('name');
        // 删除
        // session('name', null);
        // 清除session
       // session(null);


         //cookie用法

            // 设置Cookie 有效期为 3600秒
        //Cookie::set('name', 'value', 3600);
         //删除cookie
        // Cookie::delete('name');
         // 读取某个cookie数据
       //echo Cookie::get('name');

         //助手函数
         // 设置
        // cookie('name', 'value', 3600);

        // 获取
         ////echo cookie('name');

         // 删除
         cookie('name', null);


      }
}